package exception01;
/**
 * 异常继承体系:
 *   1.Java是一种纯面向对象语言,因此Java把程序中可能出现的问题进行描述
 *     形成一个个Java类,最终构成整个异常体系
 *   2.异常继承体系:
 *     Throwable:Throwable类是 Java 语言中所有错误和异常的(顶级)父类
 *      |-Error: 最严重的问题我们称之为Error
 *      |-Exception(检查型异常/编译时异常): Exception类 及 Exception类的子类(不包含RuntimeException及子类)
 *         |-RuntimeException(非检查型异常/运行时异常):RuntimeException类 及 RuntimeException类的子类
 *   3.Error与Exception的区别
 *     Exception: 指程序在编译或运行时发生了某种异常(xxException),我们可以对异常进行具体的处理,如果处理正常,可以让程序继续执行
 *                如果不处理,程序一旦发生异常,会终止程序
 *     Error: 程序中出现的错误,一般是硬件级别或者通过代码无法做到根本处理: 服务器宕机 内存溢出
 *            本质上修改代码
 */
public class ExceptionDemo02 {
    public static void main(String[] args) {
        //method01();
        method02();
    }

    private static void method02(){//java.lang.StackOverflowError 内存栈溢出
        method02();
    }
    private static void method01() {
        int a = 1 / 0;
        System.out.println(a);//java.lang.ArithmeticException: / by zero
    }
}
